/**
 * 接口请求
 * */
import {
	toPage,
} from './tools.js'
import configSet from '@/config'
/**
 * get请求
 * @param {Object} url 地址
 * @param {Object} params 参数
 * @param {Object} config 其它配置
 */
export function get(url, params, config) {
	let options = {
		url: url,
		method: 'GET',
	}
	let opt = options
	options.data = params
	return request(opt)
}
/**
 * post请求
 * @param {Object} url 地址
 * @param {Object} data 参数
 * @param {Object} config 其它配置
 */
export function post(url, data, config) {
	let options = {
		url: url,
		method: 'POST',
		data: data
	}
	let opt = Object.assign(options, config)
	return request(opt)
}
/**
 * post请求
 * @param {Object} url 地址
 * @param {Object} data 参数
 * @param {Object} config 其它配置
 */
export function put(url, data, config) {
	let options = {
		url: url,
		method: 'PUT',
		data: data
	}
	let opt = Object.assign(options, config)
	return request(opt)
}
/**
 * 统一参数配置
 */
function getInsideConfig(data) {
	let versionCode = '1.0';

	// 配置文件
	const config = {
		headers: {
			// 'application/x-www-form-urlencoded;charset=utf-8' : 'application/json;charset=utf-8'",
			'Content-Type': "multipart/form-data",
			'Request-Index':0,
		}
	}

	return config
}
/**
 * 请求后台
 * @param {Object} option
 */
function request(option) {
	let options = Object.assign(getInsideConfig(option), option)
	return new Promise((resolve, reject) => {
		console.log('请求地址：', `${configSet.iretailStkouyu}${options.url}`)
		uni.request({
			url: `${configSet.iretailStkouyu}${options.url}`,
			method: options.method,
			data: options.data,
			header: options.headers,
			timeout: 1000000,
			success: (res) => {
				console.log('返回体',res)
				if (res.statusCode==200) {
					resolve(res.data)
				} else if(res.data.message=='请登录'){
					uni.$u.toast(res.data.message);
					setTimeout(() => {
						uni.navigateTo({
							url: '/pages/login/index'
						});
					}, 1000)
				} else {
					uni.hideLoading();
					uni.showToast({
						title: res.data,
						icon: 'none',
						duration: 2000
					});
					// resolve(res.data)
				}
			},
			fail: (err) => {
				console.log(err)
				uni.hideLoading()
				uni.showToast({
					title: '网络请求异常,请检查网络情况',
					icon: 'none',
					duration: 2000
				});
				reject({
					code: 9999,
					success: false,
					data: null,
					message: '系统异常,请联系管理员!'
				})
			}
		})
	})
}

function onAPPUpdate() {

}

export default {
	get,
	post,
	put
}
